The embodiments described herein relate to data synchronization across cluster filesystems. More specifically, the embodiments described herein relate to tracking changes in a filesystem and replaying the changes to another filesystem using a standard protocol.
In a scalable and writable caching system that caches remote file data, data is fetched from a remote site and updates made at the cache site, also known as the source site, and replayed at the remote site, also known as the target site. It is known that network connectivity between the source and target sites may be subject to temporary disconnects. When a disconnection between the two sites occurs, the source site should still be available for access to data that is previously cached, and as such, the source site continues to support both data and metadata updates. At such time as connectivity between the two sites is restored, the data and metadata updates need to be synchronized to the target site.